package com.kmxd.ams.client.system.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import lombok.Data;

/**
 * 系统消息
 *
 * @author ZuoLG
 * @since 2022-07-15
 */
@Schema(description = "系统消息对象")
@Data
public class SysMessagesAddDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键 */
  @Schema(description = "公司id")
  private Long comId;

  /** 主键 */
  @Schema(description = "全宗id")
  private Long fondsId;

  /** 主键 */
  @Schema(description = "通告对象类型（1:全体用户，2:指定用户，3:部门，4:岗位,5:角色）")
  private Integer sendType;

  /** 业务id */
  @Schema(description = "业务id")
  private Long bizId;
  /** 流程id */
  @Schema(description = "流程id")
  private String flowId;

  /** 角色id */
  @Schema(description = "角色id")
  private Long roleId;

  /** 部门id */
  @Schema(description = "部门id")
  private Long deptId;

  /** 门类id */
  @Schema(description = "门类id")
  private Long archTypeId;
  /** 标题 */
  @Schema(description = "标题")
  @NotBlank(message = "标题不能为空")
  private String title;

  /** 内容 */
  @Schema(description = "内容")
  @NotBlank(message = "内容不能为空")
  private String msgContent;

  /** 消息类型1:消息2：待办 */
  @Schema(description = "消息类型1:消息2：待办")
  private Integer msgCategory;

  /** 打开方式 */
  @Schema(description = "打开方式")
  private String openType;

  /** 组件/路由 */
  @Schema(description = "组件/路由")
  private String openPage;

  /** 参数信息，根据业务自己定义 */
  @Schema(description = "参数信息，根据业务自己定义")
  private String openParameter;
  /** 发送类型为1、2，对应人id，为3对应部门id，4岗位id，5角色id */
  @Schema(description = "消息接收对象")
  private String receiver;

  /** 创建人 */
  @Schema(description = "创建人")
  private Long createBy;

  /** 创建时间 */
  @Schema(description = "创建时间")
  private Date createTime;

  /** 更新人 */
  @Schema(description = "更新人")
  private Long updateBy;

  /** 更新时间 */
  @Schema(description = "更新时间")
  private Date updateTime;

  /** 删除状态(0-正常,1-已删除) */
  @Schema(description = "删除状态(0-正常,1-已删除)")
  private Long delFlag;
}
